package com.shimao.celnet.payment.service;

import org.springframework.stereotype.Service;
import java.util.List;

/**
 * 通用接口
 */
@Service
public interface IService<T> {

    /**
     * 根据GUID查询
     * @param guid
     * @return
     */
    T getByKey(String guid);

    /**
     * 根据条件查询
     * @param example
     * @return
     */
    List<T> getByExample(Object example);

    /**
     * 获取所有
     * @return
     */
    List<T> getAll();

    /**
     * 获取表的guid
     * @return
     */
    String getGuid();

    /**
     * 数据保存
     * @param entity
     * @return
     */
    int save(T entity);

    int saveList(List<T> entityList);


    /**
     * 根据guid删除
     * @param guid
     * @return
     */
    int delete(String guid);

    /**
     * 根据guid，非空更新
     * @param entity
     * @return
     */
    int update(T entity);
}
